home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-01-24 | 20.3 KB | 556 lines | [TEXT/MPS ] |
- ;
- ; File: MoviesFormat.a
- ;
- ; Contains: QuickTime Interfaces.
- ;
- ; Version: Technology: QuickTime 2.0
- ; Package: Universal Interfaces 2.2 in “MPW” on ETO #20
- ;
- ; Copyright: © 1984-1995 by Apple Computer, Inc.
- ; All rights reserved.
- ;
- ; Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- ; stack. Include the file and version information (from above)
- ; in the problem description and send to:
- ; Internet: apple.bugs@applelink.apple.com
- ; AppleLink: APPLE.BUGS
- ;
- ;
-
- IF &TYPE('__MOVIESFORMAT__') = 'UNDEFINED' THEN
- __MOVIESFORMAT__ SET 1
-
-
- IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
- include 'Types.a'
- ENDIF
- ; include 'ConditionalMacros.a' ;
-
- IF &TYPE('__WINDOWS__') = 'UNDEFINED' THEN
- include 'Windows.a'
- ENDIF
- ; include 'Memory.a' ;
- ; include 'MixedMode.a' ;
- ; include 'Quickdraw.a' ;
- ; include 'QuickdrawText.a' ;
- ; include 'Events.a' ;
- ; include 'OSUtils.a' ;
- ; include 'Controls.a' ;
- ; include 'Menus.a' ;
-
- IF &TYPE('__IMAGECOMPRESSION__') = 'UNDEFINED' THEN
- include 'ImageCompression.a'
- ENDIF
- ; include 'QDOffscreen.a' ;
- ; include 'Errors.a' ;
- ; include 'Components.a' ;
- ; include 'StandardFile.a' ;
- ; include 'Dialogs.a' ;
- ; include 'TextEdit.a' ;
- ; include 'Files.a' ;
- ; include 'Finder.a' ;
-
- IF &TYPE('__MOVIES__') = 'UNDEFINED' THEN
- include 'Movies.a'
- ENDIF
- ; include 'Aliases.a' ;
- ; include 'AppleTalk.a' ;
-
- kMovieVersion EQU 0 ; version number of the format here described
-
- MoviesUserData RECORD 0
- size ds.l 1 ; offset: $0 (0) ; size of this user data
- udType ds.l 1 ; offset: $4 (4) ; type of user data
- data ds.b 1 ; offset: $8 (8) ; the user data
- ORG 10
- sizeof EQU * ; size: $A (10)
- ENDR
-
- ; typedef struct MoviesUserData MoviesUserData
- UserDataAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4)
- userData ds MoviesUserData ; offset: $8 (8)
- sizeof EQU * ; size: $12 (18)
- ENDR
-
- ; typedef struct UserDataAtom UserDataAtom
- ; MoviesDataDescription tells us where the data for the movie or track lives.
- ; The data can follow the directory, be in the datafork of the same file as the directory resource,
- ; be in the resource fork of the same file as the directory resource, be in another file in the
- ; data fork or resource fork, or require a specific bottleneck to fetch the data.
- ;***************************************
- ;*
- ;* MediaDirectory information -
- ;* The MediaDirectory is tightly coupled to the data.
- ;*
- ;***************************************
- SampleDescriptionAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'stsd'
- flags ds.l 1 ; offset: $8 (8) ; 1 byte of version / 3 bytes of flags
- numEntries ds.l 1 ; offset: $C (12)
- sampleDescTable ds SampleDescription ; offset: $10 (16)
- sizeof EQU * ; size: $20 (32)
- ENDR
-
- ; typedef struct SampleDescriptionAtom SampleDescriptionAtom
- ; TimeToSampleNum maps physical sample time to physical sample number.
- TimeToSampleNum RECORD 0
- sampleCount ds.l 1 ; offset: $0 (0)
- sampleDuration ds.l 1 ; offset: $4 (4)
- sizeof EQU * ; size: $8 (8)
- ENDR
-
- ; typedef struct TimeToSampleNum TimeToSampleNum
- TimeToSampleNumAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'stts'
- flags ds.l 1 ; offset: $8 (8) ; 1 byte of version / 3 bytes of flags
- numEntries ds.l 1 ; offset: $C (12)
- timeToSampleNumTable ds TimeToSampleNum ; offset: $10 (16)
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct TimeToSampleNumAtom TimeToSampleNumAtom
- ; SyncSamples is a list of the physical samples which are self contained.
- SyncSampleAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'stss'
- flags ds.l 1 ; offset: $8 (8) ; 1 byte of version / 3 bytes of flags
- numEntries ds.l 1 ; offset: $C (12)
- syncSampleTable ds.l 1 ; offset: $10 (16)
- sizeof EQU * ; size: $14 (20)
- ENDR
-
- ; typedef struct SyncSampleAtom SyncSampleAtom
- ; SampleToChunk maps physical sample number to chunk number.
- ; same as SampleToChunk, but redundant first sample is removed
- SampleToChunk RECORD 0
- firstChunk ds.l 1 ; offset: $0 (0)
- samplesPerChunk ds.l 1 ; offset: $4 (4)
- sampleDescriptionID ds.l 1 ; offset: $8 (8)
- sizeof EQU * ; size: $C (12)
- ENDR
-
- ; typedef struct SampleToChunk SampleToChunk
- SampleToChunkAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'stsc'
- flags ds.l 1 ; offset: $8 (8) ; 1 byte of version / 3 bytes of flags
- numEntries ds.l 1 ; offset: $C (12)
- sampleToChunkTable ds SampleToChunk ; offset: $10 (16)
- sizeof EQU * ; size: $1C (28)
- ENDR
-
- ; typedef struct SampleToChunkAtom SampleToChunkAtom
- ChunkOffsetAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'stco'
- flags ds.l 1 ; offset: $8 (8) ; 1 byte of version / 3 bytes of flags
- numEntries ds.l 1 ; offset: $C (12)
- chunkOffsetTable ds.l 1 ; offset: $10 (16)
- sizeof EQU * ; size: $14 (20)
- ENDR
-
- ; typedef struct ChunkOffsetAtom ChunkOffsetAtom
- SampleSizeAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'stsz'
- flags ds.l 1 ; offset: $8 (8) ; 1 byte of version / 3 bytes of flags
- sampleSize ds.l 1 ; offset: $C (12)
- numEntries ds.l 1 ; offset: $10 (16)
- sampleSizeTable ds.l 1 ; offset: $14 (20)
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct SampleSizeAtom SampleSizeAtom
- ShadowSync RECORD 0
- fdSampleNum ds.l 1 ; offset: $0 (0)
- syncSampleNum ds.l 1 ; offset: $4 (4)
- sizeof EQU * ; size: $8 (8)
- ENDR
-
- ; typedef struct ShadowSync ShadowSync
- ShadowSyncAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'stsz'
- flags ds.l 1 ; offset: $8 (8) ; 1 byte of version / 3 bytes of flags
- numEntries ds.l 1 ; offset: $C (12)
- shadowSyncTable ds ShadowSync ; offset: $10 (16)
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct ShadowSyncAtom ShadowSyncAtom
- SampleTableAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'stbl'
- sampleDescription ds SampleDescriptionAtom ; offset: $8 (8)
- timeToSampleNum ds TimeToSampleNumAtom ; offset: $28 (40)
- sampleToChunk ds SampleToChunkAtom ; offset: $40 (64)
- syncSample ds SyncSampleAtom ; offset: $5C (92)
- sampleSize ds SampleSizeAtom ; offset: $70 (112)
- chunkOffset ds ChunkOffsetAtom ; offset: $88 (136)
- shadowSync ds ShadowSyncAtom ; offset: $9C (156)
- sizeof EQU * ; size: $B4 (180)
- ENDR
-
- ; typedef struct SampleTableAtom SampleTableAtom
- PublicHandlerInfo RECORD 0
- flags ds.l 1 ; offset: $0 (0) ; 1 byte of version / 3 bytes of flags
- componentType ds.l 1 ; offset: $4 (4)
- componentSubType ds.l 1 ; offset: $8 (8)
- componentManufacturer ds.l 1 ; offset: $C (12)
- componentFlags ds.l 1 ; offset: $10 (16)
- componentFlagsMask ds.l 1 ; offset: $14 (20)
- componentName ds.b 1 ; offset: $18 (24)
- ORG 26
- sizeof EQU * ; size: $1A (26)
- ENDR
-
- ; typedef struct PublicHandlerInfo PublicHandlerInfo
- HandlerAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'hdlr'
- hInfo ds PublicHandlerInfo ; offset: $8 (8)
- sizeof EQU * ; size: $22 (34)
- ENDR
-
- ; typedef struct HandlerAtom HandlerAtom
- ; a data reference is a private structure
- ; typedef long DataRefAtom
- DataInfoAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'dinf'
- dataRef ds.l 1 ; offset: $8 (8)
- sizeof EQU * ; size: $C (12)
- ENDR
-
- ; typedef struct DataInfoAtom DataInfoAtom
- RgnAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4)
- rgnSize ds.w 1 ; offset: $8 (8)
- rgnBBox ds Rect ; offset: $A (10)
- data ds.b 1 ; offset: $12 (18)
- ORG 20
- sizeof EQU * ; size: $14 (20)
- ENDR
-
- ; typedef struct RgnAtom RgnAtom
- MatteCompressedAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4)
- flags ds.l 1 ; offset: $8 (8) ; 1 byte of version / 3 bytes of flags
- matteImageDescription ds ImageDescription ; offset: $C (12)
- matteData ds.b 1 ; offset: $62 (98)
- ORG 100
- sizeof EQU * ; size: $64 (100)
- ENDR
-
- ; typedef struct MatteCompressedAtom MatteCompressedAtom
- MatteAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4)
- aCompressedMatte ds MatteCompressedAtom ; offset: $8 (8)
- sizeof EQU * ; size: $6C (108)
- ENDR
-
- ; typedef struct MatteAtom MatteAtom
- ClippingAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4)
- aRgnClip ds RgnAtom ; offset: $8 (8)
- sizeof EQU * ; size: $1C (28)
- ENDR
-
- ; typedef struct ClippingAtom ClippingAtom
- ;**********************
- ;* Media Info Example Structures
- ;**********************
- VideoMediaInfoHeader RECORD 0
- flags ds.l 1 ; offset: $0 (0) ; 1 byte of version / 3 bytes of flags
- graphicsMode ds.w 1 ; offset: $4 (4) ; for QD - transfer mode
- opColorRed ds.w 1 ; offset: $6 (6) ; opcolor for transfer mode
- opColorGreen ds.w 1 ; offset: $8 (8)
- opColorBlue ds.w 1 ; offset: $A (10)
- sizeof EQU * ; size: $C (12)
- ENDR
-
- ; typedef struct VideoMediaInfoHeader VideoMediaInfoHeader
- VideoMediaInfoHeaderAtom RECORD 0
- size ds.l 1 ; offset: $0 (0) ; size of Media info
- atomType ds.l 1 ; offset: $4 (4) ; = 'vmhd'
- vmiHeader ds VideoMediaInfoHeader ; offset: $8 (8)
- sizeof EQU * ; size: $14 (20)
- ENDR
-
- ; typedef struct VideoMediaInfoHeaderAtom VideoMediaInfoHeaderAtom
- VideoMediaInfo RECORD 0
- size ds.l 1 ; offset: $0 (0) ; size of Media info
- atomType ds.l 1 ; offset: $4 (4) ; = 'minf'
- header ds VideoMediaInfoHeaderAtom ; offset: $8 (8)
- dataHandler ds HandlerAtom ; offset: $1C (28)
- dataInfo ds DataInfoAtom ; offset: $3E (62)
- sampleTable ds SampleTableAtom ; offset: $4A (74)
- sizeof EQU * ; size: $FE (254)
- ENDR
-
- ; typedef struct VideoMediaInfo VideoMediaInfo
- SoundMediaInfoHeader RECORD 0
- flags ds.l 1 ; offset: $0 (0) ; 1 byte of version / 3 bytes of flags
- balance ds.w 1 ; offset: $4 (4)
- rsrvd ds.w 1 ; offset: $6 (6)
- sizeof EQU * ; size: $8 (8)
- ENDR
-
- ; typedef struct SoundMediaInfoHeader SoundMediaInfoHeader
- SoundMediaInfoHeaderAtom RECORD 0
- size ds.l 1 ; offset: $0 (0) ; size of Media info
- atomType ds.l 1 ; offset: $4 (4) ; = 'vmhd'
- smiHeader ds SoundMediaInfoHeader ; offset: $8 (8)
- sizeof EQU * ; size: $10 (16)
- ENDR
-
- ; typedef struct SoundMediaInfoHeaderAtom SoundMediaInfoHeaderAtom
- SoundMediaInfo RECORD 0
- size ds.l 1 ; offset: $0 (0) ; size of Media info
- atomType ds.l 1 ; offset: $4 (4) ; = 'minf'
- header ds SoundMediaInfoHeaderAtom ; offset: $8 (8)
- dataHandler ds HandlerAtom ; offset: $18 (24)
- dataReference ds.l 1 ; offset: $3A (58)
- sampleTable ds SampleTableAtom ; offset: $3E (62)
- sizeof EQU * ; size: $F2 (242)
- ENDR
-
- ; typedef struct SoundMediaInfo SoundMediaInfo
- ; whatever data the media handler needs goes after the atomType
- MediaInfo RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4)
- sizeof EQU * ; size: $8 (8)
- ENDR
-
- ; typedef struct MediaInfo MediaInfo
- ;**********************
- ;* Media Directory Structures
- ;**********************
- MediaHeader RECORD 0
- flags ds.l 1 ; offset: $0 (0) ; 1 byte of version / 3 bytes of flags
- creationTime ds.l 1 ; offset: $4 (4) ; seconds since Jan 1904 when directory was created
- modificationTime ds.l 1 ; offset: $8 (8) ; seconds since Jan 1904 when directory was appended
- timeScale ds.l 1 ; offset: $C (12) ; start time for Media (Media time)
- duration ds.l 1 ; offset: $10 (16) ; length of Media (Media time)
- language ds.w 1 ; offset: $14 (20)
- quality ds.w 1 ; offset: $16 (22)
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct MediaHeader MediaHeader
- MediaHeaderAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4)
- header ds MediaHeader ; offset: $8 (8)
- sizeof EQU * ; size: $20 (32)
- ENDR
-
- ; typedef struct MediaHeaderAtom MediaHeaderAtom
- MediaDirectory RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'mdia'
- mediaHeader ds MediaHeaderAtom ; offset: $8 (8) ; standard Media information
- mediaHandler ds HandlerAtom ; offset: $28 (40)
- mediaInfo ds MediaInfo ; offset: $4A (74)
- sizeof EQU * ; size: $52 (82)
- ENDR
-
- ; typedef struct MediaDirectory MediaDirectory
- ;**********************
- ;* Track Structures
- ;**********************
-
- TrackEnable EQU 1 << 0
- TrackInMovie EQU 1 << 1
- TrackInPreview EQU 1 << 2
- TrackInPoster EQU 1 << 3
-
- TrackHeader RECORD 0
- flags ds.l 1 ; offset: $0 (0) ; 1 byte of version / 3 bytes of flags
- creationTime ds.l 1 ; offset: $4 (4) ; seconds since Jan 1904 when directory was created
- modificationTime ds.l 1 ; offset: $8 (8) ; seconds since Jan 1904 when directory was appended
- trackID ds.l 1 ; offset: $C (12)
- reserved1 ds.l 1 ; offset: $10 (16)
- duration ds.l 1 ; offset: $14 (20) ; length of track (track time)
- reserved2 ds.l 1 ; offset: $18 (24)
- reserved3 ds.l 1 ; offset: $1C (28)
- layer ds.w 1 ; offset: $20 (32)
- alternateGroup ds.w 1 ; offset: $22 (34)
- volume ds.w 1 ; offset: $24 (36)
- reserved4 ds.w 1 ; offset: $26 (38)
- matrix ds MatrixRecord ; offset: $28 (40)
- trackWidth ds.l 1 ; offset: $4C (76)
- trackHeight ds.l 1 ; offset: $50 (80)
- sizeof EQU * ; size: $54 (84)
- ENDR
-
- ; typedef struct TrackHeader TrackHeader
- TrackHeaderAtom RECORD 0
- size ds.l 1 ; offset: $0 (0) ; size of track header
- atomType ds.l 1 ; offset: $4 (4) ; = 'tkhd'
- header ds TrackHeader ; offset: $8 (8)
- sizeof EQU * ; size: $5C (92)
- ENDR
-
- ; typedef struct TrackHeaderAtom TrackHeaderAtom
- EditListType RECORD 0
- trackDuration ds.l 1 ; offset: $0 (0)
- mediaTime ds.l 1 ; offset: $4 (4)
- mediaRate ds.l 1 ; offset: $8 (8)
- sizeof EQU * ; size: $C (12)
- ENDR
-
- ; typedef struct EditListType EditListType
- EditListAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = elst
- flags ds.l 1 ; offset: $8 (8) ; 1 byte of version / 3 bytes of flags
- numEntries ds.l 1 ; offset: $C (12)
- editListTable ds EditListType ; offset: $10 (16)
- sizeof EQU * ; size: $1C (28)
- ENDR
-
- ; typedef struct EditListAtom EditListAtom
- EditsAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = edts
- editList ds EditListAtom ; offset: $8 (8)
- sizeof EQU * ; size: $24 (36)
- ENDR
-
- ; typedef struct EditsAtom EditsAtom
- TrackLoadSettings RECORD 0
- preloadStartTime ds.l 1 ; offset: $0 (0)
- preloadDuration ds.l 1 ; offset: $4 (4)
- preloadFlags ds.l 1 ; offset: $8 (8)
- defaultHints ds.l 1 ; offset: $C (12)
- sizeof EQU * ; size: $10 (16)
- ENDR
-
- ; typedef struct TrackLoadSettings TrackLoadSettings
- TrackLoadSettingsAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = load
- settings ds TrackLoadSettings ; offset: $8 (8)
- sizeof EQU * ; size: $18 (24)
- ENDR
-
- ; typedef struct TrackLoadSettingsAtom TrackLoadSettingsAtom
- TrackDirectory RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'trak'
- trackHeader ds TrackHeaderAtom ; offset: $8 (8) ; standard track information
- trackClip ds ClippingAtom ; offset: $64 (100)
- edits ds EditsAtom ; offset: $80 (128)
- media ds MediaDirectory ; offset: $A4 (164)
- userData ds UserDataAtom ; offset: $F6 (246) ; space for extending with new data types
- sizeof EQU * ; size: $108 (264)
- ENDR
-
- ; typedef struct TrackDirectory TrackDirectory
- ;***************************************
- ;*
- ;* MovieDirectory -
- ;* The MovieDirectory is the top level structure which
- ;* holds the TrackInstance describing where the
- ;* TrackDirectories are.
- ;*
- ;***************************************
- MovieHeader RECORD 0
- flags ds.l 1 ; offset: $0 (0) ; 1 byte of version / 3 bytes of flags
- creationTime ds.l 1 ; offset: $4 (4) ; seconds since Jan 1904 when directory was created
- modificationTime ds.l 1 ; offset: $8 (8) ; seconds since Jan 1904 when directory was appended
- timeScale ds.l 1 ; offset: $C (12) ; Time specifications
- duration ds.l 1 ; offset: $10 (16)
- preferredRate ds.l 1 ; offset: $14 (20) ; rate at which to play this movie
- preferredVolume ds.w 1 ; offset: $18 (24) ; volume to play movie at
- reserved1 ds.w 1 ; offset: $1A (26)
- preferredLong1 ds.l 1 ; offset: $1C (28)
- preferredLong2 ds.l 1 ; offset: $20 (32)
- matrix ds MatrixRecord ; offset: $24 (36)
- previewTime ds.l 1 ; offset: $48 (72) ; time in track the proxy begins (track time)
- previewDuration ds.l 1 ; offset: $4C (76) ; how long the proxy lasts (track time)
- posterTime ds.l 1 ; offset: $50 (80) ; time in track the proxy begins (track time)
- selectionTime ds.l 1 ; offset: $54 (84) ; time in track the proxy begins (track time)
- selectionDuration ds.l 1 ; offset: $58 (88) ; time in track the proxy begins (track time)
- currentTime ds.l 1 ; offset: $5C (92) ; time in track the proxy begins (track time)
- nextTrackID ds.l 1 ; offset: $60 (96) ; next value to use for a TrackID
- sizeof EQU * ; size: $64 (100)
- ENDR
-
- ; typedef struct MovieHeader MovieHeader
- MovieHeaderAtom RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'mvhd'
- header ds MovieHeader ; offset: $8 (8)
- sizeof EQU * ; size: $6C (108)
- ENDR
-
- ; typedef struct MovieHeaderAtom MovieHeaderAtom
- MovieDirectory RECORD 0
- size ds.l 1 ; offset: $0 (0)
- atomType ds.l 1 ; offset: $4 (4) ; = 'moov'
- header ds MovieHeaderAtom ; offset: $8 (8)
- movieClip ds ClippingAtom ; offset: $74 (116)
- ; Track Directories
- trackDirectory ds TrackDirectory ; offset: $90 (144) ; Track directory information
- ; User data for Movie
- userData ds UserDataAtom ; offset: $198 (408) ; space for user extensions
- sizeof EQU * ; size: $1AA (426)
- ENDR
-
- ; typedef struct MovieDirectory MovieDirectory
-
- ; some system defined format IDs
- MOVIE_TYPE EQU 'moov'
- TRACK_TYPE EQU 'trak'
- MEDIA_TYPE EQU 'mdia'
- VIDEO_TYPE EQU 'vide'
- SOUND_TYPE EQU 'soun'
-
- ; atom id's
- MovieAID EQU 'moov'
- MovieHeaderAID EQU 'mvhd'
- ClipAID EQU 'clip'
- RgnClipAID EQU 'crgn'
- MatteAID EQU 'matt'
- MatteCompAID EQU 'kmat'
- TrackAID EQU 'trak'
- UserDataAID EQU 'udta'
- TrackHeaderAID EQU 'tkhd'
- EditsAID EQU 'edts'
- EditListAID EQU 'elst'
- MediaAID EQU 'mdia'
- MediaHeaderAID EQU 'mdhd'
- MediaInfoAID EQU 'minf'
- VideoMediaInfoHeaderAID EQU 'vmhd'
- SoundMediaInfoHeaderAID EQU 'smhd'
- GenericMediaInfoHeaderAID EQU 'gmhd'
- GenericMediaInfoAID EQU 'gmin'
- DataInfoAID EQU 'dinf'
- DataRefAID EQU 'dref'
- SampleTableAID EQU 'stbl'
- STSampleDescAID EQU 'stsd'
- STTimeToSampAID EQU 'stts'
- STSyncSampleAID EQU 'stss'
- STSampleToChunkAID EQU 'stsc'
- STShadowSyncAID EQU 'stsh'
- HandlerAID EQU 'hdlr'
- STSampleSizeAID EQU 'stsz'
- STChunkOffsetAID EQU 'stco'
- DataRefContainerAID EQU 'drfc'
- TrackReferenceAID EQU 'tref'
- ColorTableAID EQU 'ctab'
- LoadSettingsAID EQU 'load'
-
- ENDIF ; __MOVIESFORMAT__
-